home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 2 / Apprentice-Release2.iso / Source Code / C / Applications / Eudora 1.3.1 / source / Include / md5.h < prev    next >
Encoding:
C/C++ Source or Header  |  1993-03-16  |  2.8 KB  |  59 lines  |  [TEXT/MPS ]

  1. /*
  2.  ***********************************************************************
  3.  ** md5.h -- header file for implementation of MD5                                        **
  4.  ** RSA Data Security, Inc. MD5 Message-Digest Algorithm                            **
  5.  ** Created: 2/17/90 RLR                                                                                            **
  6.  ** Revised: 12/27/90 SRD,AJ,BSK,JT Reference C version                             **
  7.  ** Revised (for MD5): RLR 4/27/91                                                                        **
  8.  **     -- G modified to have y&~z instead of y&z                                             **
  9.  **     -- FF, GG, HH modified to add in last register done                         **
  10.  **     -- Access pattern: round 2 works mod 5, round 3 works mod 3         **
  11.  **     -- distinct additive constant for each step                                         **
  12.  **     -- round 4 added, working mod 7                                                                 **
  13.  ***********************************************************************
  14.  */
  15.  
  16. /*
  17.  ***********************************************************************
  18.  ** Copyright (C) 1990, RSA Data Security, Inc. All rights reserved.    **
  19.  **                                                                                                                                     **
  20.  ** License to copy and use this software is granted provided that        **
  21.  ** it is identified as the "RSA Data Security, Inc. MD5 Message-     **
  22.  ** Digest Algorithm" in all material mentioning or referencing this  **
  23.  ** software or this function.                                                                                **
  24.  **                                                                                                                                     **
  25.  ** License is also granted to make and use derivative works                    **
  26.  ** provided that such works are identified as "derived from the RSA  **
  27.  ** Data Security, Inc. MD5 Message-Digest Algorithm" in all          **
  28.  ** material mentioning or referencing the derived work.                            **
  29.  **                                                                                                                                     **
  30.  ** RSA Data Security, Inc. makes no representations concerning             **
  31.  ** either the merchantability of this software or the suitability        **
  32.  ** of this software for any particular purpose.    It is provided "as  **
  33.  ** is" without express or implied warranty of any kind.              **
  34.  **                                                                                                                                     **
  35.  ** These notices must be retained in any copies of any part of this    **
  36.  ** documentation and/or software.                                                                        **
  37.  ***********************************************************************
  38.  */
  39.  
  40. /* typedef a 32-bit type */
  41. typedef unsigned long int UINT4;
  42.  
  43. /* Data structure for MD5 (Message-Digest) computation */
  44. typedef struct {
  45.     UINT4 i[2];                                     /* number of _bits_ handled mod 2^64 */
  46.     UINT4 buf[4];                                                                      /* scratch buffer */
  47.     unsigned char in[64];                                                          /* input buffer */
  48.     unsigned char digest[16];         /* actual digest after MD5Final call */
  49. } MD5_CTX;
  50.  
  51. void MD5Init (MD5_CTX *mdContext);
  52. void MD5Final (MD5_CTX *mdContext);
  53. void MD5Update (MD5_CTX *mdContext, unsigned char *inBuf, unsigned int inLen);
  54. /*
  55.  ***********************************************************************
  56.  ** End of md5.h                                                                                                            **
  57.  ******************************** (cut) ********************************
  58.  */
  59.